#include <iostream>


class Test
{

public:
    // 初始化列表:用于成员变量的初始化
    // 常成员变量必须在初始化列表中初始化
    Test(int b):a(10),b(b)
    {

    }

    void print()
    {
        std::cout<<a<<" "<<b<<std::endl;
    }

    // 修饰返回值
    // 保护返回值不被修改
    // const int* func()
    // {
    //     return &a;
    // }

    // 修饰形参
    // void func(const int a)
    // {

    // }

    void func()const  //常成员函数
    {
        d++;
        //非静态成员变量都不可修改
        // b++;
    }
private:
    const int a;  //常成员变量
    int b;
    static int d;

};

int Test::d = 0;

int main()
{

    Test t(11);
    t.print();
    return 0;
}